SETFSUID(2) | Руководство программиста Linux | SETFSUID(2) |
НАЗВАНИЕ¶
setfsuid - установить идентификатор пользователя файловой системы
КРАТКАЯ СВОДКА¶
#include <unistd.h> /* glibc использует <sys/fsuid.h> */
int setfsuid(uid_t fsuid);
ОПИСАНИЕ¶
setfsuid устанавливает идентификатор пользователя, который используется ядром Linux для доступа к файловой системе. Обычно значение fsuid будет совпадать с фактическим идентификатором пользователя. В самом деле, когда изменяется фактический идентификатор пользователя, fsuid устанавливается в то же самое значение.
Явный вызов функции setfsuid обычно используется только программами типа NFS-сервера, которые хотят изменить идентификатор пользователя, используемый для доступа к файлам, без изменения действительного и фактического идентификаторов пользователя. Установка обычных идентификаторов пользователя для программы типа NFS-сервера -- это дыра в безопасности, приводящая к возможности получения нежелательных сигналов от других пользователей.
setfsuid выполняется успешно, только если она была вызвана суперпользователем или если fsuid совпадает с действительным, фактическим или сохраненным идентификатором пользователя, или же с текущим значением fsuid.
ВОЗВРАЩАЕМОЕ ЗНАЧЕНИЕ¶
При успешном завершении возвращается предыдущее значение fsuid. При ошибке возвращается текущее значение fsuid.
СООТВЕТСТВИЕ СТАНДАРТАМ¶
setfsuid является специфичной для Linux и не должна использоваться в переносимых программах.
ОШИБКИ В РЕАЛИЗАЦИИ¶
Вызвавшему процессу не возвращается никаких сообщений об ошибке. По меньшей мере, должно возвращаться хотя бы значение EPERM.
ЗАМЕЧАНИЕ¶
Когда glibc определяет, что аргумент не является правильным идентификатором группы, то возвращает -1 и устанавливает errno в значение EINVAL, не пытаясь совершить системный вызов.
СМОТРИ ТАКЖЕ¶
ПЕРЕВОД¶
Перевод Copyright (C) Alexey Mahotkin <alexm@hsys.msk.ru> 2000
6 August 1995 | Linux 1.3.15 |